﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QuanLyPhongMach.HeThongLuuTru_DAO;
using QuanLyPhongMach.HeThongXuLy_DTO;

namespace QuanLyPhongMach.HeThongGiaoDien
{
    public partial class frmDanhSachKhamBenh : Form
    {
        BenhNhanDTO bnHienTai = new BenhNhanDTO();
        bool _click = false;
        public frmDanhSachKhamBenh()
        {
            InitializeComponent();
        }

        //private void frmDanhSachKhamBenh_FormClosing(object sender, FormClosingEventArgs e)
        //{
        //    DialogResult dr = MessageBox.Show("Bạn có muốn thoát Danh Sách Khám Bệnh", "Thoát Danh Sách Khám Bệnh", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
        //    if (dr == DialogResult.Cancel)
        //    {
        //        e.Cancel = true;
        //    }

        //}

        bool KiemTraHopLe()
        {
            if (txtHoTen.Text == "" || txtNamSInh.Text == "" || txtDiaChi.Text == "" || cbGioiTinh.Text == "")
                return false;
            else
                return true;
        }
        
        private void btnThem_Click(object sender, EventArgs e)
        {
            if (KiemTraHopLe() == true)
            {
                bnHienTai.HoTen = txtHoTen.Text;
                bnHienTai.GioiTinh = cbGioiTinh.Text;
                //bnHienTai.GioiTinh = txtGioiTinh.Text; neu dung lenh nhay phai tao txtGioiTinh
                bnHienTai.NamSinh = DateTime.Parse(txtNamSInh.Text);
                bnHienTai.DiaChi = txtDiaChi.Text;
                bnHienTai.NgayKham = DateTime.Parse(txtNgayKham.Text);
                
                if (BenhNhanDAO.ThemBenhNhan(bnHienTai))
                {
                    MessageBox.Show("Thêm BN vao DS thành công", "Thông báo");
                    HienThiDSBN();
                    txtHoTen.Text = "";
                    cbGioiTinh.Text = "";
                    txtNamSInh.Text = "";
                    txtDiaChi.Text = "";
                }
                else
                {
                    MessageBox.Show("Thêm BN vao DS không được", "Thông báo");
                }
            }
            else
            {
               MessageBox.Show("Không hợp lệ","Thông báo");
            }
                
            
        }
        //ham hien thie DS len dgv
        void HienThiDSBN()
        {
            //doc DS tu CSDl
            DataTable dt = BenhNhanDAO.DanhSachBN();
            //hien thi ds len
            dgvDSBN.DataSource = dt;
            
        }
        

        private void frmDanhSachKhamBenh_Load(object sender, EventArgs e)
        {
            HienThiDSBN();
            txtNgayKham.Text = DateTime.Now.ToShortDateString();
            
        }

        private void bntThoat_Click(object sender, EventArgs e)
        {
            Close();
        }

        void BNDuocChonTrenDgv(DataGridViewRow row)
        {
            bnHienTai.MaBN = (int)row.Cells[0].Value;
            bnHienTai.HoTen = (string)row.Cells[1].Value;
            bnHienTai.GioiTinh = (string)row.Cells[2].Value;
            bnHienTai.NamSinh = (DateTime)row.Cells[3].Value;
            bnHienTai.DiaChi = (string)row.Cells[4].Value;
            bnHienTai.NgayKham = (DateTime)row.Cells[5].Value;
        }
        private void dgvDSBN_SelectionChanged(object sender, EventArgs e)
        {
            if (dgvDSBN.SelectedCells.Count > 0)
            {
                if (_click )
                {
                    int row = dgvDSBN.SelectedCells[0].RowIndex;
                    BNDuocChonTrenDgv(dgvDSBN.Rows[row]);
                    txtMaBN.Text = bnHienTai.MaBN.ToString();
                    txtHoTen.Text = bnHienTai.HoTen;
                    cbGioiTinh.Text = bnHienTai.GioiTinh;
                    txtNamSInh.Text = bnHienTai.NamSinh.ToShortDateString();
                    txtDiaChi.Text = bnHienTai.DiaChi;
                    txtNgayKham.Text = bnHienTai.NgayKham.ToShortDateString();
                }
                else
                {
                    txtMaBN.Text = "";
                    txtHoTen.Text = "";
                    cbGioiTinh.Text = "";
                    txtNamSInh.Text = "";
                    txtDiaChi.Text = "";
                }
                    
            }
            //else
            //{
            //    txtMaBN.Text = "";
            //    txtHoTen.Text = "";
            //    cbGioiTinh.Text = "";
            //    txtNamSInh.Text = "";
            //    txtDiaChi.Text = "";

            //}
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            if (dgvDSBN.SelectedCells.Count > 0)
            {
                if (BenhNhanDAO.XoaBenhNhan(bnHienTai))
                {
                    MessageBox.Show("Xóa BN vao trong DS thành công", "Thông báo");
                    HienThiDSBN();
                    txtHoTen.Text = "";
                    cbGioiTinh.Text = "";
                    txtNamSInh.Text = "";
                    txtDiaChi.Text = "";
                }
                else
                {
                    MessageBox.Show("Chưa xóa BN trong DS được!", "Thông báo");
                }
            }
            else
            {
                MessageBox.Show("Không có BN trong DS để xóa!", "Thông báo");
            }
            
        }

        private void btnSua_Click(object sender, EventArgs e)
        {            
            if (dgvDSBN.SelectedCells.Count > 0)
            {
                bnHienTai.HoTen = txtHoTen.Text;
                bnHienTai.GioiTinh = cbGioiTinh.Text;
                //bnHienTai.GioiTinh = txtGioiTinh.Text;
                bnHienTai.NamSinh = DateTime.Parse(txtNamSInh.Text);
                bnHienTai.DiaChi = txtDiaChi.Text;
                bnHienTai.NgayKham = DateTime.Parse(txtNgayKham.Text);

                if (BenhNhanDAO.SuaBenhNhan(bnHienTai))
                {
                    MessageBox.Show("Sửa thông tin BN trong DS thành công", "Thông báo");
                    HienThiDSBN();
                }
                else
                {
                    MessageBox.Show("Sửa thông tin BN trong DS không được", "Thông báo");
                }
            }
            else
            {
                MessageBox.Show("Không có thông tin BN trong DS để sửa!", "Thông báo");
            }
        }

        private void dgvDSBN_Click(object sender, EventArgs e)
        {
            _click = true;
            int row = dgvDSBN.SelectedCells[0].RowIndex;
            BNDuocChonTrenDgv(dgvDSBN.Rows[row]);
            txtMaBN.Text = bnHienTai.MaBN.ToString();
            txtHoTen.Text = bnHienTai.HoTen;
            cbGioiTinh.Text = bnHienTai.GioiTinh;
            txtNamSInh.Text = bnHienTai.NamSinh.ToShortDateString();
            txtDiaChi.Text = bnHienTai.DiaChi;
            txtNgayKham.Text = bnHienTai.NgayKham.ToShortDateString();
        }

     
      

        

            
    }
}
